package 分布式生成唯一ID;

import java.util.UUID;

/**
 * //        著作权归https://pdai.tech所有。
 * //        链接：https://www.pdai.tech/md/arch/arch-z-id.html
 * //
 * //        虽然 UUID 生成方便，本地生成没有网络消耗，但是使用起来也有一些缺点，
 * //        不易于存储：UUID太长，16字节128位，通常以36长度的字符串表示，很多场景不适用。
 * //        信息不安全：基于MAC地址生成UUID的算法可能会造成MAC地址泄露，暴露使用者的位置。
 * //        对MySQL索引不利：如果作为数据库主键，在InnoDB引擎下，UUID的无序性可能会引起数据位置频繁变动，严重影响性能，
 * //        可以查阅 Mysql 索引原理 B+树的知识
 * @author caihe
 * @date 2021/5/25 11:11
 */
public class UUID生成ID {

    public static void main(String[] args) {
        //获取一个版本4根据随机字节数组的UUID。
        UUID uuid = UUID.randomUUID();
        System.out.println(uuid.toString());
        System.out.println(uuid.toString().replace("-", ""));


        //获取一个版本3(基于名称)根据指定的字节数组的UUID。
        byte[] nbyte = {10, 20, 30};
        UUID uuidFromBytes = UUID.nameUUIDFromBytes(nbyte);
        System.out.println(uuidFromBytes.toString().replaceAll("-",""));



    }


}
